iOSアプリ開発で関数型プログラミングを実現するThe Composable Architectureの紹介
FP はコードの 再利用性 を高め、コードを高品質な部品として再利用可能としれる手段を提供するもの そのリスクを軽減するには、自身のコードの振る舞いは予測可能なものとし、自動検証ができるようにし、そのような 信頼性 の高い部品を組み合わせて構築したい そのための第一歩として副作用の分離がある
TCA を用いると副作用を分離することができる
TCA のメリット
純粋なロジックを副作用と分離できる: 可読性 の向上 優先順位の設定、並列実行の構造化処理
キャンセル処理が用意されている
https://gyazo.com/be57f18599ded8e652a28f64e24c7bac
モジュール分割で十分
https://gyazo.com/d7cd54e34543fe4719d8211b62a5a2df
warning.icon Reducer は 純粋関数型 ではない (inout State, Action) -> Effect<Action>
inout State はミュータブル
State を変更するのではなく、メインスレッド の Reducer 自身が State を変更する